/*
 * @Description: 配置【tsconfig.json】中modul的示例
 * @notes: 
 * @Author: 台火山
 * @Date: 2024-03-10 22:49:13
 * @LastEditors: 台火山
 * @LastEditTime: 2024-03-13 17:51:31
 */
import { hi } from './m.js';
console.log('hi==', hi);
let c = 'app'
console.log('app.ts', c);
let h: number = 10;
h = 123;

//  示例：noImplicitAny
// 默认false
function fn(a, b) {
    return a + b;
}
// true
function fn2(a: number, b: number) {
    return a + b;
}

//  示例：noImplicitThis
// 默认false
function fn3() {
    console.log(this);
}
// true
function fn4(this: Window) {
    console.log(this);
}

// 示例：strictNullChecks
// box1 不一定能获取到

let box1 = document.getElementById('box1');
// 默认false
box1.addEventListener('click', function () {
    alert('hello');
})
// true
if (box1 !== null) {
    box1.addEventListener('click', function () {
        alert('hello');
    })
}
// 或者
box1?.addEventListener('click', function () {
    alert('hello');
})